/**
 * 在一个美丽的果园里，有一排果树，每棵果树上都结满了水果。
 * 你是一名小果农，要在果园里采摘水果。每棵果树能采摘的水果数量不同，你需要用篮子（数组）来装这些水果。
 * 当你完成采摘后，还可以统计篮子里水果的总数。
 *
 * @author wangdx
 * @since 2025/8/1
 */
public class FruitPickingGame {
    public static void main(String[] args) {
        // 声明并初始化一个数组，表示每棵果树上可采摘的水果数量
        int[] fruitTrees = {5, 3, 7, 2, 4};

        // 动态初始化一个数组，表示篮子，长度与果树数量相同
        int[] basket = new int[fruitTrees.length];

        System.out.println("欢迎来到水果采摘游戏！");
        System.out.println("果园里有 " + fruitTrees.length + " 棵果树，开始采摘啦！");

        // 遍历每棵果树进行采摘
        for (int i = 0; i < fruitTrees.length; i++) {
            // 从当前果树上采摘水果放入篮子
            basket[i] = fruitTrees[i];
            System.out.println("从第 " + (i + 1) + " 棵果树上采摘了 " + fruitTrees[i] + " 个水果。");
        }

        // 统计篮子里水果的总数
        int totalFruits = 0;
        for (int fruits : basket) {
            totalFruits += fruits;
        }

        System.out.println("采摘结束，篮子里一共装了 " + totalFruits + " 个水果。");

        // 发现第 3 棵果树漏摘了 1 个水果，进行修改
        basket[2] = basket[2] + 1;
        System.out.println("哎呀，第 3 棵果树漏摘了 1 个水果，补上后这棵树对应的篮子里有 " + basket[2] + " 个水果。");

        // 重新统计篮子里水果的总数
        totalFruits = 0;
        for (int fruits : basket) {
            totalFruits += fruits;
        }
        System.out.println("补上漏摘的水果后，篮子里一共有 " + totalFruits + " 个水果。");
    }
}
